Matlab Codes

Chapter 2

Matlab code 2.5: Matlab file “Figure 2-10.m”

%--------------------------------------------------------------------

% This code can be used to generate Figure 2.10

%--------------------------------------------------------------------

 

clear all;

close all;

%% the theoretical curve of vibrating target micro-Doppler characteristic when radar platform is vibrating

c = 3e8;

j = sqrt(-1);

fc = 10e9; % carrier frequency of transmitted signal

v = 0; % translational velocity of target

cord = 1000*[300 100 500]; % coordinates of local coordinate system's origin in the radar coordinate system

colo = [0 0 0]; % coordinates of radar in the radar coordinate system

R0 = cord-colo;

alpha = 0.9273; % azimuth angle

% alpha = atan(cora(2)/cora(1));

beita = 0.7854; % elevation angle

% beita = atan(cora(3)/(sqrt(cora(1)^2+cora(2)^2)));

alpha_p = pi/5; % azimuth angle of target vibrating axis

beita_p = pi/4; % elevation angle of target vibrating axis

dv = 0.01; % vibration amplitude

fv = 3; % vibration frequency

alpha0 = pi/10; % azimuth angle of radar platform vibrating axis

beita0 = pi/3; % elevation angle of radar platform vibrating axis

dr = 0.01; % vibration amplitude of radar platform

fr = 5; % vibration frequency of radar platform

t = 1; % radar illumimated time

prf = 1000; % pulse repetition frequency

pri = 1/prf; % pulse repetition interval

dt = 0:pri:t-pri; % time sampling interval

fmd1 = (4*pi*fc*fv*dv/c)*(cos(alpha-alpha_p)*cos(beita)*cos(beita_p)+sin(beita)*sin(beita_p))*cos(2*pi*fv*dt)...

      -(4*pi*fc*fr*dr/c)*(cos(alpha-alpha0)*cos(beita)*cos(beita0)+sin(beita)*sin(beita0))*cos(2*pi*fr*dt);

fmd2 = (4*pi*fc*fv*dv/c)*(cos(alpha-alpha_p)*cos(beita)*cos(beita_p)+sin(beita)*sin(beita_p))*cos(2*pi*fv*dt);

figure(1)

plot(dt,fmd1,'.r') % when radar platform is vibrating

hold on

plot(dt,fmd2) % when radar platform is stationary

legend('platform vibrating','platform stationary')

xlabel('Time (s)')

ylabel('Frequency (Hz)')

axis([0,1,-50,50])

 

%% the time-frequency analysis result of vibrating target micro-Doppler characteristic when radar platform is vibrating

r = zeros(length(colo),length(dt)); % distance between the scatterers and radar

m = length(dt);

for i = 1:m

    r(:,i) = R0'+dv*sin(2*pi*fv*dt(i))*[cos(alpha_p)*cos(beita_p);sin(alpha_p)*cos(beita_p);sin(beita_p)]...

            -dr*sin(2*pi*fr*dt(i))*[cos(alpha0)*cos(beita0);sin(alpha0)*cos(beita0);sin(beita0)];

end

rabs = sqrt(sum(r.^2,1));

s = exp(j*2*pi*fc*2*rabs'/c); % echo signal matrix

N = 200; % number of Gabor coefficients in time

Q = 100; % degree of oversampling

tfr = tfrgabor(s.',N,Q); % Gabor transform

tfr_r = fftshift(tfr,1);

figure(2)

contour(linspace(min(dt),max(dt),length(tfr_r(1,:))),linspace(-prf/2,prf/2-1,length(tfr_r(:,1))),tfr_r,10)

xlabel('Time (s)')

ylabel('Frequency (Hz)')

axis([0,1,-50,50])